package com.wisely.highlight_spring4.ch3.taskexecutor;

import org.springframework.context.annotation.AnnotationConfigApplicationContext;

/**
 * @author GY
 * 2018年1月30日
 * Spring多线程
 */
public class Main {
	
	public static void main(String[] args) {
		 AnnotationConfigApplicationContext context =
	                new AnnotationConfigApplicationContext(TaskExecutorConfig.class);
		 
		 AsyncTaskService asyncTaskService = context.getBean(AsyncTaskService.class);
		 
		 for(int i =0 ;i<10;i++){
		     //并发执行,并不会顺序执行,执行的多线程为线程池TaskExecutor
		     //而这里的方法自动被注入使用ThreadPoolTaskExecutor作为TaskExecutor
			 asyncTaskService.executeAsyncTask(i);
			 //@Async注解标示的方法是一个异步方法
			 asyncTaskService.executeAsyncTaskPlus(i);
	        }
	        context.close();
	}
}
